gchar *format_for_printer;
gint current_page;
+ GtkCssNode *collate_paper_node;
+ GtkCssNode *page_layout_paper_node;
};
struct _GtkPrintUnixDialogClass
gtk_css_node_set_name (gtk_widget_get_css_node (dialog->collate_image), g_quark_from_static_string ("drawing"));
gtk_css_node_set_name (gtk_widget_get_css_node (dialog->page_layout_preview), g_quark_from_static_string ("drawing"));
+
+ dialog->collate_paper_node = gtk_css_node_new();
+ gtk_css_node_set_name (dialog->collate_paper_node, g_quark_from_static_string ("paper"));
+ gtk_css_node_set_parent (dialog->collate_paper_node,
+ gtk_widget_get_css_node (dialog->collate_image));
+ g_object_unref (dialog->collate_paper_node);
+
+ dialog->page_layout_paper_node = gtk_css_node_new();
+ gtk_css_node_set_name (dialog->page_layout_paper_node, g_quark_from_static_string ("paper"));
+ gtk_css_node_set_parent (dialog->page_layout_paper_node,
+ gtk_widget_get_css_node (dialog->page_layout_preview));
+ g_object_unref (dialog->page_layout_paper_node);
}
static void
}
static void
-paint_page (GtkWidget *widget,
+paint_page (GtkPrintUnixDialog *dialog,
+ GtkWidget *widget,
cairo_t *cr,
gint x,
gint y,
text_y = 21;
context = gtk_widget_get_style_context (widget);
- gtk_style_context_save_named (context, "paper");
+ gtk_style_context_save_to_node (context, dialog->collate_paper_node);
gtk_render_background (context, cr, x, y, width, height);
gtk_render_frame (context, cr, x, y, width, height);
if (copies == 1)
{
- paint_page (widget, cr, x1 + p1, y, reverse ? "1" : "2", text_x);
- paint_page (widget, cr, x1 + p2, y + 10, reverse ? "2" : "1", text_x);
+ paint_page (dialog, widget, cr, x1 + p1, y, reverse ? "1" : "2", text_x);
+ paint_page (dialog, widget, cr, x1 + p2, y + 10, reverse ? "2" : "1", text_x);
}
else
{
- paint_page (widget, cr, x1 + p1, y, collate == reverse ? "1" : "2", text_x);
- paint_page (widget, cr, x1 + p2, y + 10, reverse ? "2" : "1", text_x);
+ paint_page (dialog, widget, cr, x1 + p1, y, collate == reverse ? "1" : "2", text_x);
+ paint_page (dialog, widget, cr, x1 + p2, y + 10, reverse ? "2" : "1", text_x);
- paint_page (widget, cr, x2 + p1, y, reverse ? "1" : "2", text_x);
- paint_page (widget, cr, x2 + p2, y + 10, collate == reverse ? "2" : "1", text_x);
+ paint_page (dialog, widget, cr, x2 + p1, y, reverse ? "1" : "2", text_x);
+ paint_page (dialog, widget, cr, x2 + p2, y + 10, collate == reverse ? "2" : "1", text_x);
}
}
}
context = gtk_widget_get_style_context (widget);
- gtk_style_context_save_named (context, "paper");
+ gtk_style_context_save_to_node (context, dialog->page_layout_paper_node);
gtk_style_context_get_color (context, &color);
pos_x = (width - w) / 2;
break;
}
+ cairo_set_source_rgba (cr, color.red, color.green, color.blue, color.alpha);
if (horizontal)
for (y = start_y; y != end_y + dy; y += dy)
{